{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d31aac11",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('0.19', (2, 49, 3))"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%cd -q ..\n",
    "\n",
    "import graphviz\n",
    "\n",
    "graphviz.__version__, graphviz.version()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b8d54151",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'svg'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphviz.set_jupyter_format('png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9e904725",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<graphviz.graphs.Digraph at 0x13e013ef460>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dot = graphviz.Digraph(comment='The Round Table')\n",
    "\n",
    "dot.node('A', 'King Arthur')\n",
    "dot.node('B', 'Sir Bedevere the Wise')\n",
    "dot.node('L', 'Sir Lancelot the Brave')\n",
    "\n",
    "dot.edges(['AB', 'AL'])\n",
    "dot.edge('B', 'L', constraint='false')\n",
    "\n",
    "dot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "a0a07753",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.49.3 (20211023.0002)\n",
       " -->\n",
       "<!-- Pages: 1 -->\n",
       "<svg width=\"390pt\" height=\"116pt\"\n",
       " viewBox=\"0.00 0.00 389.98 116.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 112)\">\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-112 385.98,-112 385.98,4 -4,4\"/>\n",
       "<!-- A -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>A</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"190.99\" cy=\"-90\" rx=\"53.89\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"190.99\" y=\"-86.3\" font-family=\"Times New Roman,serif\" font-size=\"14.00\">King Arthur</text>\n",
       "</g>\n",
       "<!-- B -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>B</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"90.99\" cy=\"-18\" rx=\"90.98\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"90.99\" y=\"-14.3\" font-family=\"Times New Roman,serif\" font-size=\"14.00\">Sir Bedevere the Wise</text>\n",
       "</g>\n",
       "<!-- A&#45;&gt;B -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>A&#45;&gt;B</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M168.8,-73.46C155.33,-64.04 137.92,-51.85 122.98,-41.39\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"124.72,-38.33 114.52,-35.47 120.7,-44.07 124.72,-38.33\"/>\n",
       "</g>\n",
       "<!-- L -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>L</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"290.99\" cy=\"-18\" rx=\"90.98\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"290.99\" y=\"-14.3\" font-family=\"Times New Roman,serif\" font-size=\"14.00\">Sir Lancelot the Brave</text>\n",
       "</g>\n",
       "<!-- A&#45;&gt;L -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>A&#45;&gt;L</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M213.19,-73.46C226.65,-64.04 244.07,-51.85 259.01,-41.39\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"261.28,-44.07 267.47,-35.47 257.27,-38.33 261.28,-44.07\"/>\n",
       "</g>\n",
       "<!-- B&#45;&gt;L -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>B&#45;&gt;L</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M182.01,-18C184.62,-18 187.22,-18 189.83,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"189.89,-21.5 199.89,-18 189.89,-14.5 189.89,-21.5\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython import display\n",
    "\n",
    "display.display_svg(dot)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
